<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
            1. Promise 是一个类，在这个类实例化的时候，需要传递一个执行器(参数)，执行器(参数是函数)会立马执行
            2. Promise 状态，
                pending 等待  fulfilled 成功 rejected 失败
                pending ——> fulfilled
                pending ——> rejected
                单向不可逆。
            3. 调用 reserve 或 reject 的时候，实际上在更改了状态
            4. then 方法内部做的就是判断状态，如果状态成功，调用成功的回调函数，
               如果失败，调用失败的回调函数，then 是被定义在原型对象中的
            5. then 成功回调有一个参数，表示成功之后的值，
               then 失败回调有一个参数，表示失败的原因  
        */
        let p = new Promise((resolve, reject) => {
            // resolve("成功");
            // reject("失败");
        });

        p.then((value) => {
            console.log(1, value);
        }, (reson) => {
            console.log(2, reson);
        });
    </script>
</body>

</html>